﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using MainScene;

namespace SSShell
{
    public partial class Add_Change_Taxonomia : Form
    {
        public frmMain _forma;
        public int typp;
        public string rolname;
        public string heroold;
        public Add_Change_Taxonomia(int typ, frmMain Formm, string rr, string namehero)
        {
            InitializeComponent();
            _forma = Formm;
            typp = typ;
            rolname = rr;
            heroold = namehero;
                switch (typp)
            {
                case 1:

                    this.Text = "Добавление роли";
                    label1.Text = "Новое название";
                    label1.Visible = true;
                    textBox1.Visible = true;

                    break;
                case 2:

                    this.Text = "Изменение роли";
                    label1.Text = "Старое имя";
                    label2.Text = "Новое имя";
                    label1.Visible = true;
                    label2.Visible = true;
                    textBox1.Visible = true;
                    textBox1.Text = rr;
                    textBox1.Enabled = false;
                    textBox2.Visible = true;
                    break;
                case 3:
                    this.Text = "Добавление названия героя роли";
                    label1.Text = "Новое название";
                    label1.Visible = true;
                    textBox1.Visible = true;
                    break;
                case 4:

                    this.Text = "Добавление названия героя роли";
                    label1.Text = "Новое название";
                    label1.Visible = true;
                    textBox1.Visible = true;
                    break;

                case 5:
                    this.Text = "Изменение названия героя роли";
                    label1.Text = "Старое названия героя роли";
                    label2.Text = "Новое названия героя роли";
                    label1.Visible = true;
                    label2.Visible = true;
                    textBox1.Visible = true;
                    textBox1.Text = namehero;
                    textBox1.Enabled = false;
                    textBox2.Visible = true;
                    break;
            }
        }

        private void btnCancel_Click(object sender, EventArgs e)
        {
            this.Close();
        }
        public bool cboi = false;
        private void btnOK_Click(object sender, EventArgs e)
        {
            switch (typp)
            {
                case 1:
                    if (textBox1.Text != "")
                        _forma.SS.Taxon.AddRole(textBox1.Text);
                    else
                    {
                        MessageBox.Show("Вы не указали название!");
                        cboi=true;
                    }
                    break;
                case 2:
                    if (textBox1.Text != "" && textBox2.Text != "")
                    {
                        if (_forma.SS.Taxon.ChangeRole(textBox1.Text, textBox2.Text))
                        {
                            _forma.treeViewTaxonomia.SelectedNode.Text = _forma.SS.Taxon.GetRole(textBox2.Text).Name;
                        }
                        else
                        {
                            MessageBox.Show("Неверное название ролей!");
                            cboi = true;

                        }
                    }
                    else
                    {
                        MessageBox.Show("Вы не указали название!");
                        cboi = true;

                    }
                    break;
                case 3:
                    if (textBox1.Text != "")
                    {
                        Role nR = _forma.SS.Taxon.GetRole(rolname);
                        nR.Heroes.Add(textBox1.Text);
                    }
                    else
                    {
                        MessageBox.Show("Вы не указали название!");
                        cboi = true;
                        
                    }
                    break;
                case 4:
                    if (textBox1.Text != "")
                    {
                        Role nR = _forma.SS.Taxon.GetRole(rolname);
                        nR.Heroes.Add(textBox1.Text);
                    }
                    else
                    {
                        MessageBox.Show("Вы не указали название!");
                        cboi=true;
                    }
                    break;
                case 5:
                    if (textBox1.Text != "" && textBox2.Text != "")
                    {
                       Role r=_forma.SS.Taxon.GetRole(rolname);
                       int ind = 0;
                        int cc=0;
                       foreach (string item in r.Heroes)
                       {
                           if (item == textBox1.Text)
                           {
                               ind = cc;
                               break;
                           }
                           cc++;
                       }
                       r.Heroes.RemoveAt(ind);
                       r.Heroes.Insert(ind, textBox2.Text);
                    }
                    else
                    {
                        MessageBox.Show("Вы не указали название!");
                        cboi=true;
                    }
                    break;

            }
            if (cboi)
                return;
            DialogResult = DialogResult.OK;
        }
    }
}
